package cn.bytepath.util;

import lombok.*;

/**
 * 用于存放返回给页面的状态(增删改时的结果)信息的工具类
 * @author Jack.C
 * @createDate 2022-01-22
 * @version 1.0
 */
@Getter
@ToString
@AllArgsConstructor
@NoArgsConstructor
public class PageResult {

    public static final PageResult SUCCESS = new PageResult("操作成功", true, null);
    public static final PageResult FAIL = new PageResult("操作失败", false, null);

    /**
     * 存放需返回给页面的消息
     */
    private String msg;

    /**
     * 操作结果的状态
     */
    private Boolean success;

    /**
     * 用于存放需带给页面的信息
     */
    private Object data;

    /**
     * 链式编程,给调用对象设置返回携带的msg
     * @param msg 对象信息
     * @return: cn.bytepath.util.PageResult
     * @update 2022/1/22
     */
    public PageResult setMsg(String msg) {
        this.msg = msg;
        return this;
    }

    /**
     * 链式编程,给调用对象设置返回携带的data
     * @param obj 需携带的额外信息
     * @return: cn.bytepath.util.PageResult
     * @update 2022/1/22
     */
    public PageResult setData(Object obj) {
        this.data = obj;
        return this;
    }

}
